/**
 * Dart 类中- getter与setter
 * Getter(获取器)是通过get关键字修饰的方法
 *    函数没有小括号，访问时也没有小括号(像访问属性一样的方法)
 * Setter (修改器) 时通过Set关键字修饰的方法
 *    访问时，像设置属性一样给函数传递参数
 */

class Circle {
  final double PI = 3.14;
  num r = 0; // 半径
  Circle(num r) {
    this.r = r;
  }
  // 获取圆的面积
  num get area {
    return this.r * this.r * PI;
  }

  set setR(r) {
    this.r = r;
  }
}

void main() {
  Circle c1 = Circle(10);
  print(c1.area); // getter
  c1.setR = 50;
  print(c1.area);
}